package com.ruoyi.college.service;

import java.util.List;
import com.ruoyi.college.domain.ExperimentScoreStandard;

/**
 * 设置评分标准Service接口
 * 
 * @author ruoyi
 * @date 2025-08-27
 */
public interface IExperimentScoreStandardService 
{
    /**
     * 查询设置评分标准
     * 
     * @param standardId 设置评分标准主键
     * @return 设置评分标准
     */
    public ExperimentScoreStandard selectExperimentScoreStandardByStandardId(Long standardId);

    /**
     * 查询设置评分标准列表
     * 
     * @param experimentScoreStandard 设置评分标准
     * @return 设置评分标准集合
     */
    public List<ExperimentScoreStandard> selectExperimentScoreStandardList(ExperimentScoreStandard experimentScoreStandard);

    /**
     * 新增设置评分标准
     * 
     * @param experimentScoreStandard 设置评分标准
     * @return 结果
     */
    public int insertExperimentScoreStandard(ExperimentScoreStandard experimentScoreStandard);

    /**
     * 修改设置评分标准
     * 
     * @param experimentScoreStandard 设置评分标准
     * @return 结果
     */
    public int updateExperimentScoreStandard(ExperimentScoreStandard experimentScoreStandard);

    /**
     * 批量删除设置评分标准
     * 
     * @param standardIds 需要删除的设置评分标准主键集合
     * @return 结果
     */
    public int deleteExperimentScoreStandardByStandardIds(String standardIds);

    /**
     * 删除设置评分标准信息
     * 
     * @param standardId 设置评分标准主键
     * @return 结果
     */
    public int deleteExperimentScoreStandardByStandardId(Long standardId);


    /**
     * 查询课程的评分标准
     *
     * @param courseId 课程ID
     * @return 评分标准
     */
    ExperimentScoreStandard selectByCourseId(Long courseId);

    /**
     * 查询课程负责人的评分标准列表
     *
     * @return 评分标准列表
     */
    List<ExperimentScoreStandard> selectByLeader();

    /**
     * 保存评分标准（包含评分项和评分等级）
     *
     * @param scoreStandard 评分标准
     * @return 结果
     */
    int saveScoreStandard(ExperimentScoreStandard scoreStandard);

    /**
     * 删除评分标准（级联删除评分项和评分等级）
     *
     * @param id 评分标准ID
     * @return 结果
     */
    int deleteScoreStandard(Long id);
}
